/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clases;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JLabel;

/**
 *
 * @author Jose
 */
public class Ficha extends JLabel implements MouseListener{
    public int Jugador;    
    public int X,Y;
    public boolean Seleccionada;
    private MAIN Contenedor;
    
    public Ficha(int jugador, MAIN padre){
        Seleccionada=false;
        Contenedor=padre;
        
        if(jugador>2 || jugador<1){
            jugador=1;
            System.err.print("Se ingresó un número de jugador inválido, se transformo en 1");
        }
        Jugador=jugador;
        setIcon(loadIcon(jugador+""));
        setSize(this.getPreferredSize());
        setVisible(true);
        
        addMouseListener(this);                
    }
    
    /**
     * Método privado que obtiene imagenes a partir de los recursos
     * @param nombre Nombre del recurso
     * @return ImageIcon con del recurso solicitado, o <i>null</i> si no se encuentra el recurso.
     */
    private ImageIcon loadIcon(String nombre) {
        nombre="RES/"+nombre;
        ImageIcon icono;
        URL url = null;
        try {
            url = getClass().getClassLoader().getResource(nombre+".png");
            icono = new ImageIcon(url);
            if (icono == null) {
                System.err.println("BASURA");
            }
            return icono;
        } catch (Exception e) {            
            return null;
        }
    }
    
    public void setSeleccionada(boolean estado){
        Seleccionada=estado;
        if(estado){
            setIcon(loadIcon(Jugador+"_s"));
        }else{
            setIcon(loadIcon(Jugador+""));
        }
    }

    @Override
    public void mouseClicked(MouseEvent e) {
        if(Contenedor.Turno==Jugador && !Contenedor.YaMovio){
            Contenedor.DeseleccionarFichas();
            Contenedor.FichaSel=this;
            setSeleccionada(true);
        }
    }

    @Override
    public void mousePressed(MouseEvent e) {
//        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void mouseReleased(MouseEvent e) {
//        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void mouseEntered(MouseEvent e) {
//        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public void mouseExited(MouseEvent e) {
//        throw new UnsupportedOperationException("Not supported yet.");
    }
}

